home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / comm / aprs30_1.zip / README.MAP < prev    next >
Text File  |  1993-11-30  |  25KB  |  391 lines

  1.                         HOW TO MAKE YOUR OWN MAPS             (README.MAP)
  2.  
  3. GENERAL CAUTION:  Many map makers have run up against the array limits in APRS
  4. in surprise.  Here are the limits per map: 1000 map points, 99 Map labels, and
  5. 99 active maps.  If you approach these limits, begin a new map!  SECONDLY,
  6. APRS maps are NOT intended, nor expected to fulfill all map requirements.  APRS
  7. maps are only intended to provide the user with a visual reference to where
  8. things are in a radio network.  Once you see where a station is, and you want
  9. to see what street he is on, or what address block he is in, you should refer
  10. to printed maps of your area.  Do not waste time trying to put too much detail
  11. into APRS maps!  Similarly, don't try to label everything.  Too many labels
  12. makes it hard to see callsigns.  I just got back (thanksgiving 93) from my
  13. first long GPS mobile trip with a laptop, and can confirm that at 60 MPH and
  14. 30 second updates, I rarely ever went below the 8 mile scale and usually
  15. stayed at the 16 mile scale to see what was comming ahead.  This confirms that
  16. in most cases a straight line between intersections is just as effective as
  17. a very detailed curvy map and only takes 2 points vice 20!  So concentrate on
  18. plotting the intersections accurrately; if you want to come back later and add
  19. more detail curves for artistic sake, that is now easy to do with the latest
  20. version of my MAPFIX.bas program.
  21.  
  22. SUCCESS!!!  In Version 3.01, MAPFIX.bas can now ADD complete features while
  23. online; and in version 3.05 you can do almost anything with a map file!  But
  24. you will still need to start with an EDITOR to enter the basic MAP file
  25. structure, and to identify the point values to place roads geographically
  26. correct.  But after the major roads and other geography is on the map, this
  27. feature makes it a snap to eyeball in smaller roads and to smooth out points,
  28. or to add tiny jogs in the roads or shoreline.
  29.  
  30. NEW IN DISTRIBUTION 3.00:  Added a comment field for each map in MAPLIST.map
  31. file to help you keep track of what maps are what.  If you do not add a comment
  32. you MUST add a COMMA on the end of the line as a null entry.  Also the
  33. MAPFIX.bas program now has a routine to list MAPLIST.map and to show all map
  34. borders.  Both of these changes are incompatible with earlier versions.
  35.  
  36. NEW in DISTRIBUTION 2.13:  The format of the MAPLIST.map file changed so
  37. that you can SUPPRESS any map in the list.  This keeps the number of maps
  38. below the maximum of 60 that APRS can handle at a time, but keeps the map in
  39. the list for easy activation.  Just use an editor to put a (*) at the start
  40. of a map you want to skip.
  41.  
  42. NEW IN DISTRIBUTION 2.11:  The MAPFIX.BAS program can now be used to ADD,
  43. MOVE, and DELETE map points and also to Add map LABELS!  Also, Ken Swaggart,
  44. W7KKE in Foster City, CA has written a QBasic program that takes map points
  45. directly from a CALCOMP 4000 series plotter.  See README.PLT and his maps!
  46. Lastly, I have renamed many maps so that all map names begin with the two-
  47. letter state abbreviation so that they sort better alphabetically.
  48.  
  49. HOW TO MAKE APRS MAP FILES:   To see what maps are available to the system, use
  50. alt-M.  This command draws the boundaries of all map files and shows you the
  51. areas covered by detail maps.  The colors of these borders are proportional
  52. to map size.  Some of these maps are very detail, and some are just "starter"
  53. maps that I have made to give new users in those areas a basic map outline from
  54. which to add their own detail.  If a map boarder is shown, but the map does not
  55. appear, then the mapfile is not on your disk.  If the mapfile is there, but
  56. its boarder does not show up, then it is not listed in the MAPLIST.map file.
  57. Since I live in Maryland, you will notice that we have a lot of detail maps
  58. already put together for users in our area.  Notice how maps of finer detail
  59. can exist within the same area. Zoom into my neighborhood at 3910N 07636W and
  60. see my neighborhood detail using 1200 pixels per degree.  Also see some of the
  61. San Francisco maps made by W7KKE.  He has used 2400 pix-per-deg on some maps.
  62. I try to provide a starter maps for each region.  These region sized maps
  63. should contain only statelines and interstates, or you will run out of room
  64. (limit 1000 points and 80 labels per map)  See the section MORE ABOUT MAPS at
  65. the end of this file for info on how to center, convert and spawn new maps.
  66. Slowly other APRS users are beginning to produce maps.  Here are some good map
  67. makers:
  68.  
  69. W4NMK                  Black Mountain NC
  70. N4WJQ  @ WA4TFZ.VA     Charlottsville VA
  71. W9LZQ                  Onalaska       WI
  72. KD1E   @ N8NNN.#SEMI   Michigan       MI
  73. N3FKV                  Waco           TX
  74. KD6MKS                 Silver Lake    CA
  75. W7KKE  @ KA6EYH#nocal  San Francisco  CA
  76. KB5YRZ @ N5SSY#METLA   New Orleans    LA
  77. N4FOR                  Savannah       GA
  78. KB8JXO @ W8CQK.#CMH.OH Columbus       OH
  79. WB5DTW                 SanAntonio     TX
  80. KA7UUS @ K7BUC.AZ      Tuscon         AZ
  81.  
  82.  
  83. BEGINNING A MAP FILE:  In any map file, the first 8 lines define the origin
  84. and scale.  Comment text is permitted on these first 8 lines after the initial
  85. data value and a comma.  See the example map below for Colorado.
  86.  
  87. BUILDING A MAP:  Map files are put together using a DOS editor to make a list
  88. of points for APRS to use in drawing line segments.  Note that the coordinates
  89. are listed as X,Y where X is horizontal and Y is vertical.  This is backwards
  90. from the usual order that we list LAT (vert) and LONG (Horizontal), so be sure
  91. to put the horizontal (X) value first. You can use any editor to prepare a map
  92. file.  Simply use a chart that has lat/long references and select an origin well
  93. beyond the upper left hand corner of the area you want to cover.  That point is
  94. 0,0 and all points are measured from there. (negative numbers are OK if you
  95. later add points behind the origin, but the - is an extra character that slows
  96. down file loading); similarly, an X value of 0 is not permitted since it is used
  97. to indicate separations between the end of one feature and start of another.
  98.  
  99. MAP SCALE:  Next choose an appropriate scale in pixels-per-degree of longitude
  100. and latitude for the area you want.  Since EGA graphics has a 350/640 pixel
  101. resolution, I have found that 120 pixels per degree (2 pixels per  minute) is
  102. excellent for state size maps.  I used 6 pixels per degree for the whole US,
  103. but should have probably used 12 for better resolution.  By keeping the scale
  104. number an integer multiple of 60, you avoid any future roundoff and truncation
  105. errors due to ZOOM functions and when converting points from one map scale to
  106. another.  I have used 6,12,24,30,60,120,300,600,1200, etc.  It takes 1200 pix
  107. or more in order to resolve city streets.  If you use too fine of a scale
  108. then you are limited as to how far the map can extend.  Points with values
  109. greater that 999 should be minimized and no values should be bigger than about
  110. 1100 or there is a chance APRS will crash on very zoomed-in maps.  The further
  111. you zoom in, the larger the values become until you get an overflow error.
  112.  
  113. MAP RANGE:  Since APRS handles range scales as integer powers of 2, I suggest
  114. making most maps slightly larger than any given power of 2.  This is so that
  115. you can place the cursor in the center of the map, and pretty much see all of
  116. it at once.  If you make the size of your map just under a power of 2, then
  117. you can never see the whole map at that range.  Going down a scale permits
  118. you to see all of the map, but only a smaller portion of it at a time.  To
  119. make it easy to hit the center of a map with the cursor, I usually make my
  120. maps with a range scale about 10% larger than an even power of 2.
  121.  
  122. MAPLIST.MAP:   This file contains the list of all maps available to the APRS
  123. program and decides which map is loaded for every location of the cursor.   It
  124. also contains the default LAT/LONG, Range and GMT offset for your location.
  125. For example, Eastern Standard Time is -5.  The program uses the default LAT/LON
  126. to center the first map each time the program starts up (on unregistered users)
  127. These values are NOT used when a saved backup file is loaded using the CTRL-L,
  128. or when a registered user has saved his default values in his APRSconfig file.
  129. So to force APRS to start up at your location, you can either  1) change this
  130. location in the MAPLIST file, 2) move the cursor to your location and use Ctrl-S
  131. to save a backup file with you at the centr, or 3) if you are a registered user,
  132. save a config file.  To change the default in the MAPLIST file, change the first
  133. four lines to your area as soon as you like.  Keep a virgin copy of MAPLIST.map
  134. so that if you mess up the file, you have a clean starting point again.  The GMT
  135. offset is used to correct the raw time reveived from GPS/packet mobiles.  As
  136. of version 2.05, you can instantly zoom out to the default map using the
  137. Shift-End key.  This is useful for doing a quick hop across the country!
  138.  
  139. ADDING MAPS:   To add a map to the system, look at the MAPLIST.map file.  It
  140. contains a list of all maps available.  Add a line that contains the MAPname,
  141. LAT, LONG, MAPrange, and comments.  The LAT/LONG are in decimal degrees and
  142. describe roughly the center of your map.  The MAPrange tells the system to
  143. load this map if the cursor ever falls within this range of the center.
  144. Actually it is a little more complicated.  The given map will not be used until
  145. the cursor location plus the current range scale in all directions fully falls
  146. within the boundaries.  This keeps you from being on a postage stamp sized map
  147. of someone's neighborhood when you are zoomed out to see the whole US!  HINT -
  148. so that your detail map seems to blend in with the next larger map, add enough
  149. rough features and points to your borders to surround your fine detail area
  150. with crude detail out to MAX Range beyond.  Then when the screen centers on a
  151. point near the edge of your fine detail, your map doesn't just stop but
  152. includes crude detail to all edges.  Currently APRS can only use 60 maps in
  153. MAPLIST.map.  As of version 2.13 you can place a (*) at the beginning of a line
  154. to tell APRS to skip that map.  This way, you can make room for new maps, but
  155. keep old ones handy for later use...  Also you can add some comment lines at
  156. the designated space in the file (beginning with *) so that you can leave notes
  157. as to what that particular file represents.  As of version 3.00, there is also
  158. a comment field for each map.  If you have no comments, use a comma to end the
  159. line.
  160.  
  161. MAP HIERARCHY:  It is important to place maps in decending order.  The last map
  162. in the list that shows the given cursor position will be used.  If a larger map
  163. covering the same area as a smaller map follows it later in the list, then the
  164. larger map will always be found last and will be used, instead of the desired
  165. smaller map.  If maps overlap in your area, hit shift-Home to temporarly see
  166. the map underneath (ver 2.05 and later).  Using this feature, you could make
  167. two maps of the same area and scale.  On one you could put rivers and roads,
  168. on the other you could put counties, property lines, and grids.  Then by
  169. listing the gridded map first in the MAPLIST.map file, it would always be
  170. superceeded by the road map, but could be summoned up by hitting shift-home!
  171.  
  172. MAP FEATURES:  APRS displays all map features by drawing lines from point-to-
  173. point.  Each feature begins with 0,0 followed by the line color and a name for
  174. the feature, followed by pairs of x,y points using the scale you chose.  The
  175. name is not used, but is useful for identifying features during editing.  In
  176. APRS, there is no limit on the number of features, just on the total number of
  177. points used to define them (1000).  Since the MAPFIX.BAS program does, however,
  178. does display these feature names during on-line editing, there is a limit of
  179. 99 in the array used to hold these names temporarily.  The POINT values
  180. are positive to the right and down.  The end of a feature is simply the 0,0
  181. which starts a new one.  After the last feature, there is a special 0,-1 which
  182. indicates the end of all feature information and the beginning of the labels
  183. list.
  184.  
  185. MAP COLORS:  APRS recognizes certain map colors for turning on and off certain
  186. map features.  For this reason it is a good idea to use my standard colors.  I
  187. made most map features using the brighter colors since they are easier to see
  188. on a color monitor outdoors.  In recent versions, you can change the background
  189. color with the Tint command under Features, and in version 3.00 the map colors
  190. will be dimmed when you ask for the Map Borders display (alt-M).  I will add
  191. a DIM command in the next version, so you dim the colors if you like.  Here are
  192. my standards, the * indicates if they are uniquely recognized by the software:
  193.  
  194.  0 - Black (normal background)       8 - NOT USED
  195.  1 - dim blue                        9 - Bright Blue
  196.  2 - dim green                     *10 - Bright Green (Interstates)
  197.  3 - dim cyan                      *11 - Bright Cyan  (waterways)
  198.  4 - deep red (state roads)        *12 - Bright Red   (major roads)
  199.  5 - dim violet                     13 - Bright Violet(special routes/events)
  200.  6 - dim orange (state/county lines 14 - Bright Yellow (Cities,airports)
  201.  7 - gray     (back roads)          15 - Bright White  (Labels and CALLS)
  202.  
  203. MAP LABELS:   Labels are drawn on maps at given lat/long coordinates.  The
  204. labels are listed at the end of each map (up to 80).  Each label has a range
  205. scale associated with it, so that not all labels are visible at all  range
  206. scales.  As you zoom in to finer and finer detail, you can make more  labels
  207. appear.  The first line in the labels list has a leading 0 and then any
  208. any comments.   From then on to the end of the file, each line  consists of
  209. 4 fields separated by commas.  First is the label text (up to 12  characters
  210. long) followed by the LAT, LONG and RANGE.  LAT and LONG must be  given in
  211. decimal degrees.  The MAPFIX.bas program displays the location of the cursor
  212. in decimal degrees for this purpose.  Labels are plotted right justified.  This
  213. means they will be plotted to the left of the given point.  A way to visualize
  214. how a label will appear is to assume the label has a following  period (.) and
  215. that the period is the location where the label will be plotted.  Labels are
  216. right justified so that they do not overprint station callsigns which are all
  217. left justified.   Since absolute LAT/LONG reference is used, labels can be
  218. transferred with out any change to any scale map.  You may decide to change the
  219. range size so that the label shows up sooner or later on different maps.  As
  220. of version 2.12, MAPFIX.bas has a command for automatically inserting new map
  221. labels at the cursor location.  This greatly simplifies map making!
  222.  
  223. EXAMPLE:  The following map file constitutes a trivial state map of Colorado.
  224. The first 8 lines are the fixed format lines which define the origin and scale.
  225. Next are the features for the state borders and for Denver.  Finally are
  226. the map labels.  To see how this map looks, move the cursor to the center of
  227. Colorado on the US map and page-down to the 256 mile scale.
  228.  
  229.   41.0, latitude origin   (equates to 0,0 in)  [Notice how comments can be on]
  230.   110.0, long of origin   (coordinate system)  [the ends of these first lines]
  231.   60, pixels per deg of lat/long               [and 1st line of each new line]
  232.   39,LAT of map center    (For ur reference only. Value in MAPLIST.map is what)
  233.   105.5,LON of map center (is actually used as the center and Range for maps  )
  234.   200,MapRange
  235.   4,minimum range         (APRS does not use this, it now computes min range)
  236.   * This single comment line can contain anything... more or less
  237.   0,0
  238.   6,Colorado state line
  239.   59,0
  240.   59,240
  241.   479,240
  242.   479,0
  243.   59,0
  244.   0,0
  245.   14,Denver city limits
  246.   300,68
  247.   289,77
  248.   300,85
  249.   311,77
  250.   300,68
  251.   0,-1                            (0,-1 indicates end of map features)
  252.   0,Comments or notes... etc      (   note that the 0, is required   )
  253.   Colorado,40,105,200
  254.   Denver,39,104,100
  255.  
  256. NOTE:  The 7th line showing a min range used to be important.  Starting with
  257. a full scale map, each time you page-down (zoom in) you are doubling the value
  258. of each pixel lat/long value.  If any of these numbers ever exceed the maximum
  259. permissible value of 2 byte integer math (32,000) then the program will crash.
  260. After version 2.04, APRS assumes that there will not be any data points larger
  261. than about 1100 and will not draw your map to a scale that would multiply this
  262. number too big.  This is why APRS will not draw the USA map smaller than about
  263. 32 miles.  Six pixels per degree for the USA map was a poor choice since the
  264. largest point value is still under 400 or so.  So I could have used 12 per
  265. degree and still been below 999.  This would have given me better resolution
  266. and would have permitted zooming in to 16 miles.
  267.  
  268. MAPFIX.BAS:  This QBasic program may be used to test and edit your maps.  It
  269. helps you to quickly display single maps and to use the cursor to identify
  270. individual map point coordinates.  It also has a readout of the cursor in
  271. decimal degrees which is required for locating labels and map Centers.  Prior
  272. to APRS distribution 2.10 this program only allowed you to look at your maps.
  273. Now you can add, move and delete map points and save a new file.  With 3.01,
  274. you can even add new features!  If you are deleting points, you must avoid
  275. deleting ALL of the points in a given map feature, because APRS (and MAPFIX)
  276. cannot handle a map feature with no points in it!  Use an EDITOR to delete a
  277. complete feature.  With 2.13 MAPFIX.bas can also add labels, and with 3.00,
  278. it can list maps in the MAPLIST.map file and also show all map borders.
  279.  
  280.  
  281. MAPCNVRT.BAS:  This QBasic progarm may be used to convert any one map to a
  282. different LAT/LONG origin or different Pixels-per-degree resolution.  Use it in
  283. conjunction with the QBasic editor for piecing together features from one map
  284. to cut and paste into another map.  Say you are building a fine detail map, but
  285. want to use the statelines and interstates from a larger map.  Just use the
  286. editor to remove all unnecessary points from the big map, keeping all the
  287. features that you want to retain and move to your new map.  Then save it with
  288. a TEMPORARY name and then run it through MAPCNVRT.BAS to re-compute all of the
  289. map points.  Then use this new file as the beginning of your new map.  You can
  290. also use the point-add-delete function in MAPFIX.bas to fine tune these points.
  291.  
  292. TECHNIQUE:  See the sketch above (not available in text file) which shows
  293. how simple it is.  Most maps have LAT/LONG lines around the borders.  If you
  294. are using 120 pixels per degree for a state size map, then each LAT/LONG line
  295. corresponds to a multiple of 120.  Simply mark on the borders of your original
  296. map these values 120, 240, 360, etc.  Then make a smaller template which
  297. matches the size of one square of LAT/LONG lines.  Draw a finer grid of lines
  298. every 10 pixels on the template.  Then to locate the coordinates of any point
  299. on the map, simply orient the template with a major LAT/LONG square, and
  300. interpolate the point within the grid on the template which represents a 10x10
  301. pixel area.  Actually, if we all use 120 pixels per degree for state size maps,
  302. then it is easy to transfer features from one map to another without complex
  303. mathimatical computations.  For transfering features from one map scale or
  304. origin to another, Use the QBasic program called MAPCNVRT.BAS which will
  305. re-compute all point values.  Then use a text editor to re-do the LAT/LONG
  306. and range and to cut and paste the necessary map labels on the end.
  307.  
  308. CAUTION: since many highway maps are Lambert Conformal instead of Mercator
  309. projections, use the center square in your map for making the template to
  310. minimize errors.  Further, be careful of highway maps that only have tick marks
  311. along the borders for LAT/LONG. If the map is not a Mercator projection, then
  312. you cannot just draw a straight line from left to right connecting latitude
  313. marks.  Longitude lines are straight on a Lambert Conformal, but not latitude
  314. lines!
  315.  
  316. SPECIAL EVENTS:  Conversly, absolute accurracy is only important if there will
  317. ever be a GPS or LORAN-C station involved in your net.  A map with little
  318. relationship to true LAT/LONG is perfectly useable in all APRS applications
  319. as long as all stations in the net are using the same map and no one is using
  320. GPS.  So feel free to draw quick simple maps for special events even as small
  321. as a few square blocks without worrying about exact LAT/LONG.  Objects on one
  322. station screen will still be in the same location on all other screens!  Use
  323. the Chess board example at 25N 90W to play chess on the air!  But GPS is
  324. comming, be prepared!  (PACCOM TNC's now come with a GPS interface built-in!)
  325.  
  326.                           MORE ABOUT MAPS PART 2
  327.  
  328. FLASH!!  Just found that ADC company that makes county maps for Maryland 7-11
  329. stores is now making state map booklets which have a LAT/LONG grid on every
  330. page!  The grid lines are 5 minutes apart which is exactly 10 pixels if you use
  331. 120 pixels per degree as I do for most APRS state maps.  This means that each
  332. grid square is a 10x10 pixel area from which map coordinates can be typed
  333. directly into a text editor without any drafting aids!  Simply note the grid
  334. coordinates of the corner of each page in the book and start entering points!
  335. Rumor has it that the comparable convenience map maker on the west coast is
  336. also now making map books with LAT/LONG grids.
  337.  
  338. NOTES ABOUT STARTER MAPS:  The starter maps that I have provided use a  scale
  339. of 120 pixels per degree and have an origin that is suitable for about a 400
  340. mile square area.  This area usually covers from one to several states and is
  341. good for area maps.  With the whole map visible, one pixel represents abt .25
  342. mile resolution.  The first step in customizing maps to your area is to take
  343. the starter map and start adding roads and features in your area.  Since all
  344. maps in the APRS system are limited to a maximum of 1000 data points, however,
  345. these large area starter maps can usually contain only the interstate roads,
  346. the state lines, and major rivers and 4-lane highways.  This is perfect for
  347. most VHF applications.  But as more and more people add detail closer to home,
  348. smaller maps need to be "spawned" off to make room for more detail.  The
  349. following sections describe how to spawn maps and convert points from one map
  350. to another.
  351.  
  352. MAP CENTERING:  Most of you do not live in the middle of a starter map and so
  353. your detail will be off center.  To make a more pleasant transition as you
  354. zoom into your area using APRS, you may want to simply change the center and
  355. range of the starter map to be centered on your area with a range suitable to
  356. the amount of detail you have added.  To do this, simply edit the line for your
  357. starter map in the MAPLIST.map file to your desired center and range.  Keep
  358. the original starter map for others to use by adding a (*) to cause APRS to
  359. skip it when loading the MAPLIST.map file.  As the number of points in your
  360. map grows, you may need to throw out some of the points which are beyond your
  361. area of interest.  Use MAPFIX.bas to delete points.  See the next section on
  362. map spawning.
  363.  
  364. MAP SPAWNING:  In the figure above, map A is the original starter map with the
  365. origin at O.  Using 120 pixels-per-degree resolution, all points within a
  366. square area 8 degrees on a side (about 400 miles) can be resolved with pairs
  367. of 3 digit numbers.  As the number of points in such a regional area map fills
  368. up towards the 1000 limit, it is necessary to start new smaller area maps such
  369. as B, C, and D above to permit finer detail to be added.  Spawning a new map
  370. is easy.  Simply use a text editor to create a new mapfile and copy all of the
  371. features out of the original map that fit within the new map area. Then save
  372. this new map and add its name to the MAPLIST.map file giving a center and range
  373. appropriate to the new smaller area covered.  Now add new roads and features in
  374. the area of interest.  Notice that since the same origin and 120 pixel-per-
  375. degree scale are still used among all maps spawned from the same starter map,
  376. features and points can be moved among those maps by simply cut-and-paste.
  377.  
  378. MAP CONVERSION:  When it is desired to move features and points from one map to
  379. another map which has a different origin (X) or resolution, then use the
  380. MAPCNVRT.BAS program.  First spawn a new map which contains all of the points
  381. that are to be moved.  Then run the MAPCNVRT program giving the new origin and
  382. resolution.  The resulting MAPTEMP.MAP file contains a copy of those features
  383. and points ready to be cut-and-pasted into the new map (Y) with the new origin
  384. (X) and resolution.  This process is useful when creating finer detail maps of
  385. an existing area and you want to transfer the interstates and larger map
  386. features down to the finer detail map without having to re-do the data points.
  387. You can use MAPFIX.bas to add new points to a road when building a finer detail
  388. map, or to delete points when building a larger map where extra fine detail
  389. points are not needed.
  390.  
  391.